import {INCREMENTCOUNT,DECREMENTCOUNT} from '../constant/countConst'
import store from '../store'
// 这里我们在store下面增加了一个actions文件夹,主要用来书写组件中给action的传输内容
// 也就是修改数据的操作
// 1.累加的action(需要暴露出去,我们的组件中需要引用)
// 这里我们使用一个函数来封装这些操作,这样的话,我们传输数据的时候可以更加灵活,因为可以通过函数传参
export const incrementAction =(data)=>{
    return {
        type:INCREMENTCOUNT,
        data
    }
}
// 2.累减的action
export const decrementAction =(data)=>{
    return {
        type:DECREMENTCOUNT,
        data
    }
}

// 3.异步操作的函数封装,这里我们要注意,当我们封装一个异步请求的时候,是不能直接return的,因为异步函数在等待执行的过程中
// return不会等待你代码执行完才返回,会直接返回一个undefined
export const waitIncrementAction =(data)=>{
    return ()=>{
        setTimeout(()=>{
            store.dispatch({
                type:INCREMENTCOUNT,
                data
            })
        },2000)
    }
}